Národní úložiště šedé literatury Nalezeno 12 záznamů.  1 - 10další  přejít na záznam: Hledání trvalo 0.01 vteřin. 
Optimalizace LINQ pro .NET
Šerý, Daniel ; Ryšavý, Ondřej (oponent) ; Pluskal, Jan (vedoucí práce)
Tato práce se zabývá LINQ (Language integrated query) a řeší možnosti jeho implementace a optimalizace v jazyce C#. Je vybrána a implementována metoda přepisu dotazů na procedurální kód před překladem programu. Cílem práce je poskytnout LINQ využitelný, i při potřebě velké rychlosti.          Pro vytvořený program přepisující dotazy LINQ, bylo pro většinu operátorů dosaženo zrychlení od 1.2x do 20x rychlosti System.Linq v závislosti na prováděném algoritmu, zdroji dat a množství poskytnutých informací přepisovacímu programu.
Překlad podmnožiny jazyka PHP do C++
Nechutný, Stanislav ; Matula, Peter (oponent) ; Křivka, Zbyněk (vedoucí práce)
Tato práce se zaměřuje na návrh a tvorbu nástroje pro automatizovaný překlad funkcí napsaných v podmnožině jazyka PHP do C++. Vygenerovaný zdrojový kód je možno zkompilovat jako rozšíření PHP a zavést stejným způsobem jako například MySQL, PDO, GD apod. Ve výsledku je tedy možno zavolat tyto funkce z PHP, jako by se jednalo o původní interpretovanou funkci. Předpokladem je však rozdíl v rychlosti vykonávání, protože odpadá analýza zdrojových kódů, jejich interpretace, či režie způsobená správou paměti. Vytvořený nástroj provádí převod zdrojového kódu do abstraktního syntaktického stromu, staticky jej analyzuje pro určení datových typů proměnných, a následně provádí generování C++ kódu. Výsledné zrychlení pak záleží na charakteristice překládaného kódu a praktické použití je prozatím komplikované kvůli implementaci podmnožiny PHP.
Retargetable Analysis of Machine Code
Křoustek, Jakub ; Janoušek, Jan (oponent) ; Návrat,, Pavol (oponent) ; Kolář, Dušan (vedoucí práce)
Program analysis is a computer-science methodology whose task is to analyse the behavior of a given program. The methods of program analysis can also be used in other methodologies such as reverse engineering, re-engineering, code migration, etc. In this thesis, we focus on program analysis of a machine-code and we address the limitations of a nowadays approaches by proposing novel methods of a fast and accurate retargetable analysis (i.e. they are designed to be independent of a particular target platform). We focus on two types of analysis - dynamic analysis (i.e. run-time analysis) and static analysis (i.e. analysing application without its execution). The contribution of this thesis within the dynamic analysis lays in the extension and enhancement of existing methods and their implementation as a retargetable debugger and two types of a retargetable translated simulator. Within the static analysis, we present a concept and implementation of a retargetable decompiler that performs a program transformation from a machine code into a human-readable form of representation. All of these tools are based on several novel methods defined by the author. According to our experimental results and users feed-back, all of the proposed tools are at least fully competitive to existing solutions, while outperforming these solutions in several ways.
Anotující disassembler pro AMD64
Láska, Ladislav ; Mareš, Martin (vedoucí práce) ; Děcký, Martin (oponent)
Cílem práce je vytvořit disassembler pro architekturu AMD64, který bude sloužit pro zjednodušení analýzy programů na úrovni strojového kódu. Práce popisuje formát instrukcí, binárních souborů a systémové konvence, které jsou následně využity ve vypracovaném disassembleru. Ten umí například analyzovat a vizualizovat skoky, pracovat s výchozím obsahem paměti, interpretovat volací konvence ABI, přejmenovávat a zjednodušovat výrazy, u kterých známe hodnoty a další. Nedílnou součástí je také skriptovací API pro Python, které umožňuje psát rozšiřující pluginy a přidávat funkce za hranice toho, na co myslel autor.
Ověřování asercí kódu pomocí zpětné symbolické exekuce
Husák, Robert ; Kofroň, Jan (vedoucí práce) ; Parízek, Pavel (oponent)
Pro prevenci, odhalování a opravování chyb v softwaru existuje celá řada nástrojů pro programátory, přičemž některé z nich umožňují pracovat přímo se sémantikou programu. V případě jazyka C# jsou hlavními zástupci Microsoft FxCop, Code Contracts a Pex. Použití těchto nástrojů může velkou měrou přispět k vysoké spolehlivosti programů. Jejich úplné zapojení do procesu vývoje software ve firmách je bohužel značně náročné na prostředky. Z tohoto důvodu jsme vytvořili AskTheCode, zjednodušený nástroj pro verifikaci asercí kódu. Jeho hlavním účelem je pomoci uživateli s jedním konkrétním problémem, který v daném okamžiku řeší. Vzhledem k tomuto přístupu jsme jej implementovali pomocí zpětné symbolické exekuce. Přestože je momentálně schopen pracovat pouze se základními konstrukty a typy jazyka C#, srovnání s existujícími nástroji ukázalo, že při dalším rozvoji má potenciál poskytnout uživateli významnou přidanou hodnotu. Powered by TCPDF (www.tcpdf.org)
IntelliSense Implementation of a Dynamic Language
Míšek, Jakub ; Zavoral, Filip (vedoucí práce)
Vývojáři během samotného programování často opakují stejná slova a stále opisují běžné výrazy. Dále také prohledávají dokumentace a zdrojové kódy, například kvůli znění deklarací metod a jiných symbolů. Z tohoto pohledu je velmi užitečná asistence ze strany vývojového prostředí. Konkrétně metody IntelliSense značně usnadňují práci tím, že shromažďují informace o používaných symbolech a programátorovi je automaticky nabízejí. Během práce s dynamickými jazyky je ale tato pomoc velmi problematická, jelikož sémantika jednotlivých symbolů není definitivně známa, dokud program není spuštěn. Součásti projektu Phalanger tak byli implementovány metody pro syntaktickou, ale také sémantickou analýzu zdrojového kódu, zaměřené hlavně na dynamický jazyk PHP. Je tak možné sestavit seznam slov, které je možné zapsat na určité místo ve zdrojovém kódu; jako jsou klíčová slova jazyka, deklarované symboly či parametry funkce, včetně informací o nich.
Optimalizace LINQ pro .NET
Šerý, Daniel ; Ryšavý, Ondřej (oponent) ; Pluskal, Jan (vedoucí práce)
Tato práce se zabývá LINQ (Language integrated query) a řeší možnosti jeho implementace a optimalizace v jazyce C#. Je vybrána a implementována metoda přepisu dotazů na procedurální kód před překladem programu. Cílem práce je poskytnout LINQ využitelný, i při potřebě velké rychlosti.          Pro vytvořený program přepisující dotazy LINQ, bylo pro většinu operátorů dosaženo zrychlení od 1.2x do 20x rychlosti System.Linq v závislosti na prováděném algoritmu, zdroji dat a množství poskytnutých informací přepisovacímu programu.
IntelliSense Implementation of a Dynamic Language
Míšek, Jakub ; Zavoral, Filip (vedoucí práce)
Vývojáři během samotného programování často opakují stejná slova a stále opisují běžné výrazy. Dále také prohledávají dokumentace a zdrojové kódy, například kvůli znění deklarací metod a jiných symbolů. Z tohoto pohledu je velmi užitečná asistence ze strany vývojového prostředí. Konkrétně metody IntelliSense značně usnadňují práci tím, že shromažďují informace o používaných symbolech a programátorovi je automaticky nabízejí. Během práce s dynamickými jazyky je ale tato pomoc velmi problematická, jelikož sémantika jednotlivých symbolů není definitivně známa, dokud program není spuštěn. Součásti projektu Phalanger tak byli implementovány metody pro syntaktickou, ale také sémantickou analýzu zdrojového kódu, zaměřené hlavně na dynamický jazyk PHP. Je tak možné sestavit seznam slov, které je možné zapsat na určité místo ve zdrojovém kódu; jako jsou klíčová slova jazyka, deklarované symboly či parametry funkce, včetně informací o nich.
Anotující disassembler pro AMD64
Láska, Ladislav ; Mareš, Martin (vedoucí práce) ; Děcký, Martin (oponent)
Cílem práce je vytvořit disassembler pro architekturu AMD64, který bude sloužit pro zjednodušení analýzy programů na úrovni strojového kódu. Práce popisuje formát instrukcí, binárních souborů a systémové konvence, které jsou následně využity ve vypracovaném disassembleru. Ten umí například analyzovat a vizualizovat skoky, pracovat s výchozím obsahem paměti, interpretovat volací konvence ABI, přejmenovávat a zjednodušovat výrazy, u kterých známe hodnoty a další. Nedílnou součástí je také skriptovací API pro Python, které umožňuje psát rozšiřující pluginy a přidávat funkce za hranice toho, na co myslel autor.
Ověřování asercí kódu pomocí zpětné symbolické exekuce
Husák, Robert ; Kofroň, Jan (vedoucí práce) ; Parízek, Pavel (oponent)
Pro prevenci, odhalování a opravování chyb v softwaru existuje celá řada nástrojů pro programátory, přičemž některé z nich umožňují pracovat přímo se sémantikou programu. V případě jazyka C# jsou hlavními zástupci Microsoft FxCop, Code Contracts a Pex. Použití těchto nástrojů může velkou měrou přispět k vysoké spolehlivosti programů. Jejich úplné zapojení do procesu vývoje software ve firmách je bohužel značně náročné na prostředky. Z tohoto důvodu jsme vytvořili AskTheCode, zjednodušený nástroj pro verifikaci asercí kódu. Jeho hlavním účelem je pomoci uživateli s jedním konkrétním problémem, který v daném okamžiku řeší. Vzhledem k tomuto přístupu jsme jej implementovali pomocí zpětné symbolické exekuce. Přestože je momentálně schopen pracovat pouze se základními konstrukty a typy jazyka C#, srovnání s existujícími nástroji ukázalo, že při dalším rozvoji má potenciál poskytnout uživateli významnou přidanou hodnotu. Powered by TCPDF (www.tcpdf.org)

Národní úložiště šedé literatury : Nalezeno 12 záznamů.   1 - 10další  přejít na záznam:
Chcete být upozorněni, pokud se objeví nové záznamy odpovídající tomuto dotazu?
Přihlásit se k odběru RSS.